﻿using BUSINESS;
using BUSINESS.Utils;
using GUI.GiaoVien;
using GUI.HocSinh;
using GUI.LopHoc;
using GUI.MonHoc;
using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Threading;

namespace GUI
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            this.WindowStartupLocation = WindowStartupLocation.CenterScreen;
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            GUIGiaoVien guiGiaoVien = new GUIGiaoVien();
            guiGiaoVien.ShowDialog();
        }

        private void SetErrorMessage(String message)
        {
           
        }

        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            GUIChuyenMon guiChuyenMon = new GUIChuyenMon();
            guiChuyenMon.ShowDialog();
        }

        private void Button_Click_2(object sender, RoutedEventArgs e)
        {
            GUILopHoc guiLopHoc = new GUILopHoc();
            guiLopHoc.ShowDialog();
        }

        private void Button_Click_3(object sender, RoutedEventArgs e)
        {
            GUIBanHoc guiBanHoc = new GUIBanHoc();
            guiBanHoc.ShowDialog();
        }

        private void Button_Click_4(object sender, RoutedEventArgs e)
        {
            GUIMonHoc guiMonHoc = new GUIMonHoc();
            guiMonHoc.ShowDialog();
        }

        private void Button_Click_5(object sender, RoutedEventArgs e)
        {
            GUITiepNhanHocSinh guiTiepNhanHocSinh = new GUITiepNhanHocSinh();
            guiTiepNhanHocSinh.ShowDialog();
        }

        private void Button_Click_6(object sender, RoutedEventArgs e)
        {
            GUILopHocChuNhiem guiLopHocChuNhiem = new GUILopHocChuNhiem(GiaoVienBUS.getGiaoVienById(1));
            guiLopHocChuNhiem.ShowDialog();
        }

        private void Button_Click_7(object sender, RoutedEventArgs e)
        {
            XepThoiKhoaBieu xepThoiKhoaBieu = new XepThoiKhoaBieu();
            xepThoiKhoaBieu.XepLop();
        }
        private List<BitmapImage> listBitMapSlideShow;
        private DispatcherTimer dispatcherTimer;
        private void Window_Loaded_1(object sender, RoutedEventArgs e)
        {
            tbgioithieu.Text = "Trường THPT Quỳnh Lưu 2 là một trường THPT nằm ở huyện Quỳnh Lưu, địa đầu xứ Nghệ. Trường được thành lập vào tháng 8 năm 1965, tại xóm Nam Hồng, Quỳnh Văn. Qua quá trình lịch sử hình thành phát triển, trường đã gặt hái được nhiều thành công, đào tạo ra bao lớp người đi xây dựng đất nước. Tiếp nối truyền thống ấy, toàn trường trong những năm qua đã luôn phấn đấu xây dựng cả về vật chất và con người. Hiện nay trường đã có một cơ sở vật chất khang trang, đội ngũ gần 100 giáo viên và gần 2000 học sinh. Với một đội ngũ giáo viên, học sinh và cơ sở vật chất như vậy, nhất định trường THPT Quỳnh Lưu 2 sẽ vươn lên xứng đáng với chất lượng cao,  tạo nguồn đào tạo cán bộ cho đát nước và quê hương trong thời đại mới.";
            var uri = new Uri("D://image//banner.jpg");
            var bitmap = new BitmapImage(uri);
            listBitMapSlideShow = new List<BitmapImage>();
            banner_img.Source = bitmap;
            for (int i = 1; i <= 5; i++)
            {
                var uri1 = new Uri("D://image//slideshow//"+i+".jpg");
                listBitMapSlideShow.Add(new BitmapImage(uri1));
            }
            slideshow_img.Source = listBitMapSlideShow[0];
            dispatcherTimer = new DispatcherTimer();
            dispatcherTimer.Tick += dispatcherTimer_Tick;
            dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 3);
            dispatcherTimer.Start();
        }
        private int count = 1;
        void dispatcherTimer_Tick(object sender, EventArgs e)
        {

            if (count < listBitMapSlideShow.Count)
            {                
                slideshow_img.Source = listBitMapSlideShow[count];
                count++;
            }
            else
            {
                count = 0;
            }
        }

        private void menu_tiepnhanhocsinh_Click(object sender, RoutedEventArgs e)
        {
            GUITiepNhanHocSinh guiTiepNhanHocSinh = new GUITiepNhanHocSinh();
            guiTiepNhanHocSinh.ShowDialog();
        }

        private void menu_giaovienchunhiem_Click_1(object sender, RoutedEventArgs e)
        {
            GUILopHocChuNhiem guiLopHocChuNhiem = new GUILopHocChuNhiem(GiaoVienBUS.getGiaoVienById(1));
            guiLopHocChuNhiem.ShowDialog();
        }

        private void menu_giaovien_Click(object sender, RoutedEventArgs e)
        {
            GUIGiaoVien guiGiaoVien = new GUIGiaoVien();
            guiGiaoVien.ShowDialog();
        }

        private void menu_xepthoikhoabieu_Click(object sender, RoutedEventArgs e)
        {
            XepThoiKhoaBieu xepThoiKhoaBieu = new XepThoiKhoaBieu();
            xepThoiKhoaBieu.XepLop();
        }

        private void menu_monhoc_Click(object sender, RoutedEventArgs e)
        {
            GUIMonHoc guiMonHoc = new GUIMonHoc();
            guiMonHoc.ShowDialog();
        }

        private void menu_banhoc_Click(object sender, RoutedEventArgs e)
        {
            GUIBanHoc guiBanHoc = new GUIBanHoc();
            guiBanHoc.ShowDialog();
        }

        private void menu_lophoc_Click(object sender, RoutedEventArgs e)
        {
            GUILopHoc guiLopHoc = new GUILopHoc();
            guiLopHoc.ShowDialog();
        }

        private void menu_chuyenmon_Click(object sender, RoutedEventArgs e)
        {
            GUIChuyenMon guiChuyenMon = new GUIChuyenMon();
            guiChuyenMon.ShowDialog();
        }

        private void menu_thoat_Click(object sender, RoutedEventArgs e)
        {
            this.Close();
        }

        private void menu_uploadbanner_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFile = new OpenFileDialog();
            if (openFile.ShowDialog() == true)
            {
                string filename = openFile.FileName;
                var uri = new Uri(filename);
                var bitmap = new BitmapImage(uri);            
                banner_img.Source = bitmap;
            }
        }
        private DispatcherTimer dispatcherTimer2;
        private void menu_slideShow_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFile = new OpenFileDialog();
            openFile.Multiselect = true;
            if (openFile.ShowDialog() == true)
            {
                string[] filename = openFile.FileNames;
                listBitMapSlideShow.Clear();
                for (int i = 0; i < filename.Length; i++)
                {
                    var uri1 = new Uri(filename[i]);
                    listBitMapSlideShow.Add(new BitmapImage(uri1));
                }
                slideshow_img.Source = listBitMapSlideShow[0];
                
                dispatcherTimer.Stop();
                dispatcherTimer.Start();
                
            }
        }
        

        
    }
}
